package com.xiaohong.goods.pojo;
import com.baomidou.mybatisplus.annotation.*;
import static io.swagger.v3.oas.annotations.media.Schema.AccessMode.READ_ONLY;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;

@Schema(name = "SpecParam")
public class SpecParam implements Serializable{

	@TableId(value = "id",type = IdType.AUTO)
	@Schema(description = "主键",accessMode = READ_ONLY)
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Integer id;//主键

	@Schema(description = "归属规格组名")
	@TableField("group_name")
	private String groupName;//归属规格组名

	@Schema(description = "规格参数名")
	@TableField("name")
	private String name;//规格参数名

	@Schema(description = "对应类目id（0为初始化未关联状态）")
	@TableField("categoryId")
	private Integer categoryId;//对应类目id（0为初始化未关联状态）

	@Schema(description = "可选值集")
	@TableField("options")
	private String options;//可选值集

    @Schema(description = "可选值集（带单位）")
    @TableField("optionsAndUnit")
    private String optionsAndUnit;//可选值集（带单位）

	@Schema(description = "参数单位（可以为空）")
	@TableField("unit")
	private String unit;//参数单位（可以为空）

	@Schema(description = "是否是通用规格参数")
	@TableField("isGeneral")
	private Integer isGeneral;//是否是通用规格参数

	@Schema(description = "是否可搜索聚合")
	@TableField("isAggregation")
	private Integer isAggregation;//是否可搜索聚合

	@Schema(description = "是否是sku选择聚合规格")
	@TableField("isSku")
	private Integer isSku;//是否是sku选择聚合规格

	@Schema(description = "逻辑删除标志",accessMode = READ_ONLY)
	@TableLogic
	private Integer deleted;//逻辑删除标志

	@Schema(description = "创建时间",accessMode = READ_ONLY)
	@TableField(value = "gmt_create",fill = FieldFill.INSERT)
	private Date gmtCreate;//创建时间

	@Schema(description = "更改时间",accessMode = READ_ONLY)
	@TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
	private Date gmtModified;//更改时间

	@Schema(description = "乐观锁",accessMode = READ_ONLY)
	@Version
	private Integer version;//乐观锁

	@Schema(description = "保存类型（0 字符串 1 数值 2 日期(年) 3 日期(年月) 4 日期(年月日) 5 日期(年月日时分秒) 6 集合")
	@TableField("type")
	private Integer type;//保存类型（0 字符串 1 数值 2 日期 3 集合 4 时间）


	public Integer getIsSku() {
		return isSku;
	}

	public void setIsSku(Integer isSku) {
		this.isSku = isSku;
	}

	public String getOptionsAndUnit() {
        return optionsAndUnit;
    }

    public void setOptionsAndUnit(String optionsAndUnit) {
        this.optionsAndUnit = optionsAndUnit;
    }

    public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Integer getIsGeneral() {
		return isGeneral;
	}

	public void setIsGeneral(Integer isGeneral) {
		this.isGeneral = isGeneral;
	}


	public Integer getIsAggregation() {
		return isAggregation;
	}

	public void setIsAggregation(Integer isAggregation) {
		this.isAggregation = isAggregation;
	}

	//get方法
	public Integer getId() {
		return id;
	}

	//set方法
	public void setId(Integer id) {
		this.id = id;
	}
	//get方法
	public String getGroupName() {
		return groupName;
	}

	//set方法
	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}
	//get方法
	public String getName() {
		return name;
	}

	//set方法
	public void setName(String name) {
		this.name = name;
	}
	//get方法
	public Integer getCategoryId() {
		return categoryId;
	}

	//set方法
	public void setCategoryId(Integer categoryId) {
		this.categoryId = categoryId;
	}
	//get方法
	public String getOptions() {
		return options;
	}

	//set方法
	public void setOptions(String options) {
		this.options = options;
	}
	//get方法
	public String getUnit() {
		return unit;
	}

	//set方法
	public void setUnit(String unit) {
		this.unit = unit;
	}
	//get方法
	public Integer getDeleted() {
		return deleted;
	}

	//set方法
	public void setDeleted(Integer deleted) {
		this.deleted = deleted;
	}
	//get方法
	public Date getGmtCreate() {
		return gmtCreate;
	}

	//set方法
	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}
	//get方法
	public Date getGmtModified() {
		return gmtModified;
	}

	//set方法
	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}
	//get方法
	public Integer getVersion() {
		return version;
	}

	//set方法
	public void setVersion(Integer version) {
		this.version = version;
	}


}
